﻿@using Framework.Comum.Pesquisa;
@using Framework.Comum.DataAnnotation;
@using NaviCar.Helpers;

@{
    CampoPesquisa atributoPesquisa = NaviCar.Metadata.MetaDados.RecuperarAtributos<CampoPesquisa>(this.ViewData);
    DropDownListAttribute atr = NaviCar.Metadata.MetaDados.RecuperarAtributos<DropDownListAttribute>(this.ViewData);

    if (atr != null)
    {
        IList<SelectListItem> lista = null;
        
        if(! String.IsNullOrEmpty(atr.ChaveLista)) {lista = HelperListas.Recuperar(atr.ChaveLista);}
        else { lista = HelperListas.Recuperar(atr.Entidade, atr.DataValueField, atr.DataTextField, atr.OptionLabel); };
        
        if(this.Model != null)
        {
               lista[0].Selected = false;
               SelectListItem item = (from l in lista where l.Value == this.Model.ToString() select l).FirstOrDefault();
               item.Selected = true;
        }
            
       @Html.DropDownList("", lista, new { @class = "texto combobox" });
    }
    else
    {
        <span>Erro: não tem informação para gerar o combo.</span>
    }
    
}
@if (atributoPesquisa != null)
{    
    <input type="hidden" value="@atributoPesquisa.TipoPesquisa|@atributoPesquisa.Campo|@atributoPesquisa.Campo2|" id="@("p_hd" + ViewData.TemplateInfo.HtmlFieldPrefix)" name="@("p_hd" + ViewData.TemplateInfo.HtmlFieldPrefix)"/>
}